package com.cdtu.comon;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;


/**
 * 自定义元数据处理器
 *  在执行更新操作和插入操作时 调用
 *   session中的信息在这里获取不到  可以用ThreadLocal这个类为每一个线程单独提供一份独立的空间  拦截器
 *   和更新 和mybatisplugs自动补充策略   调用的是同一个线程
 * */
//@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
     //插入的时候自动填充
        metaObject.setValue("regTime", LocalDateTime.now());
        metaObject.setValue("updateTime", LocalDateTime.now());
        metaObject.setValue("checkUser",  BaseContext.getCurrentAdmin().getName());
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        metaObject.setValue("updateTime", LocalDateTime.now());

    }
}
